/*************************************************
*      Filename: keyframe_movingpoint.h
*        Coding: utf-8
*        Author: Futuan Li
*         Email: lifutuan@galasports.net
*      HomePage: http://www.galasports.net
*  Copyright(C): InnoReal Technology Co.,Ltd.
*       Version: 0.0.1
*    CreateDate: 2018-04-24 15:46:41
*    LastChange: 2018-04-25 14:15:00
*          Desc: 
*       History: 
*************************************************/

#pragma once
#ifndef _KEYFRAME_MOVEPOINT_H_
#define _KEYFRAME_MOVEPOINT_H_

#include "calculate_total_evalation.h"
#include "distance_twomesh.h"
#include <vector>
#include "input_data.h"
#include "input_data_kf.h"
#include "gn_solver.h"
#include "moving_point.h"
#include "tools_kf.h"


class KeyFrameMovingPoint
{
	public:
		//double distance;
		void  KFrame_MP(int sf_Num, int sf_given);
		void  KFrame_Distance(int sf_Num, int sf_given);
		void  KFrame_KNN_Standard(int sf_Num, int sf_given);
  		void  KFrame_KNN(int sf_Num, int sf_given);
  		void  KFrame_KNN_Tool(int startFrame, int sf_Num, int sf_given ,int numIter,
										std::vector<int>* Center, std::vector<int>* Label, std::vector<int>* LabelSeries, std::vector<double>* Cost);
        int sourceframe_Num;
		int givenframe_Num;
		std::vector<int> keyframe;
  		std::vector<double> hausdorff_dis;
		std::vector<std::vector<double> > key_frame_file; //include source key-frame distance
		std::vector<std::vector<double> > diseva; //include source key-frame distance
};












#endif // _KEYFRAME_MOVEPOINT_H_
